package com.zs.basic.runoob

/**
 *
 * @description
 * @author madison
 * @date 2021/6/2 21:23
 *
 */
fun main() {
    println("hello")
    // 传统用法
    var a = 2
    var b = 6
    var max = a
    if (a < b) max = b
    println(max)

    // 使用 else
    if (a > b) {
        max = a
    } else {
        max = b
    }
    // 作为表达式
    max = if (a > b) a else b
    //我们也可以把 IF 表达式的结果赋值给一个变量。
    max = if (a > b) {
        println("Choose a")
        a
    } else {
        println("Choose b")
        b
    }
    println(max)

    //使用 in 运算符来检测某个数字是否在指定区间内，区间格式为 x..y ：
    var x = 25
    if (x in 1..8) {
        println("x 在区间内")
    }

    //When 表达式
    when (x) {
        1 -> println("x==1")
        2 -> println("x==2")
        else -> println("x 不是 1 ，也不是 2")
    }
    //如果很多分支需要用相同的方式处理，则可以把多个分支条件放在一起，用逗号分隔：
    when (x) {
        0, 1 -> println("x == 0 or x == 1")
        else -> println("otherwise")
    }
    var validNumbers = 11..15
    println(validNumbers.forEach { i -> print("$i\t") })
    when (x) {
        in 1..10 -> println("x is in the range")
        in validNumbers -> println("x is valid")
        !in 10..20 -> println("x is outside the range")
        else -> println("none of the above")
    }

    val items = setOf("apple", "banana", "kiwi", "kiwi")
    println(items)
    when {
        "orange" in items -> println("juicy")
        "apple" in items -> println("apple is fine too")
    }
}

